1. Field of the Invention
The present invention relates to search engines in a PKI (Public Key Infrastructure). More particularly, the present invention relates to authenticated search engines having different levels of security which are capable of accessing networked entities having different levels of security.
2. Description of the Related Art
A PKI is a set of policies, procedures, and software that permit an organization to generate, issue, and manage public/private cryptographic keys in a manner that allows users to reliably determine the identity of the owner of each public/private key pair. The key components of a PKI include: (1) a mechanism for reliably conveying the identity of a key pair's owner to the end user; (2) software applications for generating and managing key pairs that support this mechanism; (3) a set of procedures for generating and revoking key pairs that ensures that the identity of the owner can be reliably determined; and (4) a set of policies defining who may obtain public/private key pairs and identifying how each pair may be used.
As to component (1) of a PKI, most PKI, establish that the user owns a key pair by using an electronic document called a digital certificate. Digital certificates contain information identifying the owner of the key pair, the public component of the pair, and the period of time for which the certificate is valid. The digital certificate also identifies technical information about the key itself, such as the algorithm used to generate the key and the key length.
Certificates are generated by organizations that are responsible for verifying the identity of individuals, or in some instances, other organizations to which certificates are being issued. The identity of the certifying organization, referred to as a certificate authority, is recorded in each certificate, which is then signed using a private key known only to the certificate authority itself. This allows users to verify both the integrity of the certificate and the identity of the authority that issued it.
Certificate authorities generally employ any of a number of different commercially available software products to manage the creation, renewal, and revocation of certificates. These Certificate Management Systems (CMS) take information obtained through the user registration process, create a certificate, and sign it with the certificate authority's private key. The applicable CMS software maintains a database of all of the certificates that it has issued, and their statuses. The CMS is also responsible for revoking certificates, and for publishing a certificate revocation list that identifies the date on which each certificate was revoked, and the reason for the revocation. This information allows relying users (that is, those individuals or systems that are performing encryption or signature verification actions based on certificates) to review the status of a certificate, to assess its usability. A list of distribution points from which the CRL can be obtained are identified in the certificate itself.
In issuing a certificate, a certificate authority is stating that is has verified that the public key that appears in the certificate (and, by extension, the corresponding private key) belongs to the individual listed in the certificate. The integrity with which the registration process operates is therefore of great importance. The process must provide mechanisms for reliably identifying an individual and for verifying that the public key listed in the certificate belongs to that individual. Equally important, the certificate authority must provide procedures for revoking certificates in the event that the private key is compromised. A compromised private key calls into question the entire basis for trusting a certificate, since more than one individual may be using that private key to sign documents, or more than one individual may be able to decrypt documents encrypted using the corresponding public key.
Relying individuals and organizations must have a clear understanding of their certificate authority's operation processes. As a result, most certificate authorities publish a Certificate Practice Statement (CPS) that details the processes for registering users, issuing certificates, renewing certificates and revoking certificates. The CPS is normally published on the certificate authority's website.
Certificates often contain additional information that identifies an individual as a member of a particular organization and perhaps the role that they play in the organization. For example, the certificate may identifying the certificate holder as being either an employee of a company or a customer or subcontractor or supplier of the company. The policies determining who is eligible to hold a certificate are therefore important if individuals and organizations are to rely upon this information. These policies govern the overall operation of the certificate authority.
When Web servers are secured so that users must present digital signature certificates in order to access the servers, any other entity that also wishes to access such servers must also present digital signature certificates in order to access them. For example, if a search engine attempts to access a Web server for the purpose of indexing the Web server's contents, the search engine must present a valid digital signature certificate. Normally, this does not present any problems.
On the other hand, if the Web servers have been secured so that there are multiple levels of security, that is, only users having particular levels of security are allowed to access a given server, then the only present disadvantageous solution was to grant the highest level of access to the search engines so that they may access every Web server.
Unfortunately, by granting the highest level of access to a search engine compromises the security of higher level Web servers by allowing any user to access the indexing results of the server which was granted the highest level of access. For example, if a user having “Level 1” security is able to view a content listing of a Web server having a “Level 2” security, then this compromises the security of the Web server in that its content listing is divulged to a user not having the proper level of security. Accordingly, a problem exists with respect to allowing search engines to search Web servers having multiple levels of security without compromising the security of the Web servers.